Bulk Operations

Database Tutorials - কাউচডিবি (CouchDB) CouchDB এর CRUD অপারেশন |
203
203

Bulk Operations একটি গুরুত্বপূর্ণ বৈশিষ্ট্য যা CouchDB-তে একযোগে একাধিক ডকুমেন্ট তৈরি, আপডেট বা মুছে ফেলার প্রক্রিয়া সহজ করে তোলে। এটি বিশেষভাবে বড় ডেটাসেট বা উচ্চ কার্যকারিতা সম্পন্ন অ্যাপ্লিকেশনের জন্য উপযুক্ত, যেখানে একাধিক ডকুমেন্ট একবারে প্রক্রিয়া করা দরকার।

CouchDB এ Bulk Operations পরিচালনা করার জন্য সাধারণত Bulk Documents API ব্যবহার করা হয়। এর মাধ্যমে একাধিক ডকুমেন্টের CRUD (Create, Read, Update, Delete) অপারেশন একযোগে করা যেতে পারে, যা সার্ভারের প্রতি রিকুয়েস্টের সংখ্যা কমিয়ে দেয় এবং পারফরম্যান্স উন্নত করতে সহায়ক।


1. Bulk Document Insertion (নতুন ডকুমেন্ট তৈরি)

CouchDB তে একাধিক নতুন ডকুমেন্ট একসাথে তৈরি করার জন্য Bulk Documents API ব্যবহার করা হয়। এখানে আপনি একাধিক ডকুমেন্টের JSON অবজেক্ট একত্রে পাঠাতে পারেন।

HTTP রিকুয়েস্ট

POST রিকুয়েস্ট ব্যবহার করে আপনি একাধিক ডকুমেন্ট তৈরি করতে পারেন:

POST http://localhost:5984/your_database/_bulk_docs

Request Body Example:

{
   "docs": [
      {
         "_id": "doc1",
         "name": "John Doe",
         "age": 30
      },
      {
         "_id": "doc2",
         "name": "Jane Smith",
         "age": 25
      },
      {
         "_id": "doc3",
         "name": "Sam Green",
         "age": 35
      }
   ]
}

Response Example:

[
   {
      "id": "doc1",
      "rev": "1-23456"
   },
   {
      "id": "doc2",
      "rev": "1-34567"
   },
   {
      "id": "doc3",
      "rev": "1-45678"
   }
]

এই প্রক্রিয়ায়, CouchDB একযোগে সমস্ত ডকুমেন্ট তৈরি করে এবং তাদের _rev ফিল্ড সহ সাড়া পাঠায়।


2. Bulk Document Update (ডকুমেন্ট আপডেট করা)

CouchDB-তে বিদ্যমান ডকুমেন্ট আপডেট করতে হলে, আপনি _rev ফিল্ড সহ ডকুমেন্টটি পাঠাতে হবে। Bulk update অপারেশন একইভাবে Bulk Documents API ব্যবহার করে করা যায়।

HTTP রিকুয়েস্ট

POST রিকুয়েস্ট ব্যবহার করে আপনি একাধিক ডকুমেন্ট আপডেট করতে পারেন:

POST http://localhost:5984/your_database/_bulk_docs

Request Body Example:

{
   "docs": [
      {
         "_id": "doc1",
         "_rev": "1-23456",
         "name": "John Doe",
         "age": 31
      },
      {
         "_id": "doc2",
         "_rev": "1-34567",
         "name": "Jane Smith",
         "age": 26
      }
   ]
}

Response Example:

[
   {
      "id": "doc1",
      "rev": "2-56789"
   },
   {
      "id": "doc2",
      "rev": "2-67890"
   }
]

এই ক্ষেত্রে, আপনি যে ডকুমেন্টগুলিকে আপডেট করতে চান তাদের _rev ফিল্ড ব্যবহার করতে হবে। CouchDB নতুন _rev পাসপোর্টের সাথে সংশোধিত ডকুমেন্টগুলির সাড়া পাঠাবে।


3. Bulk Document Deletion (ডকুমেন্ট মুছে ফেলা)

একইভাবে, Bulk Documents API ব্যবহার করে একাধিক ডকুমেন্ট মুছে ফেলা যায়। ডকুমেন্ট মুছে ফেলার জন্য, আপনাকে _id এবং _rev সহ ডকুমেন্ট পাঠাতে হবে, যাতে CouchDB নিশ্চিত করতে পারে যে এটি সঠিক ডকুমেন্ট মুছে ফেলছে।

HTTP রিকুয়েস্ট

POST রিকুয়েস্ট ব্যবহার করে আপনি একাধিক ডকুমেন্ট মুছে ফেলতে পারেন:

POST http://localhost:5984/your_database/_bulk_docs

Request Body Example:

{
   "docs": [
      {
         "_id": "doc1",
         "_rev": "2-56789",
         "_deleted": true
      },
      {
         "_id": "doc2",
         "_rev": "2-67890",
         "_deleted": true
      }
   ]
}

Response Example:

[
   {
      "id": "doc1",
      "rev": "3-78901"
   },
   {
      "id": "doc2",
      "rev": "3-89012"
   }
]

এখানে, _deleted ফিল্ডকে true সেট করা হয়েছে, যা CouchDB কে নির্দেশ দেয় যে ডকুমেন্টটি মুছে ফেলা উচিত।


4. Bulk Operations এর সুবিধা

  • পারফরম্যান্স বৃদ্ধি: একাধিক রিকুয়েস্ট পাঠানোর পরিবর্তে একযোগে অনেক ডকুমেন্টের ওপর অপারেশন (CRUD) করার মাধ্যমে সার্ভারের প্রতি রিকুয়েস্টের সংখ্যা কমানো যায়, যা সার্ভারের লোড কমাতে সাহায্য করে।
  • ব্যাচ প্রক্রিয়া: বড় অ্যাপ্লিকেশন এবং সিস্টেমে একযোগে একাধিক ডকুমেন্ট সংরক্ষণ বা আপডেট করার সময় Bulk Operations খুবই কার্যকরী।
  • ডেটার এককীকরণ: একাধিক ডকুমেন্টের পরিবর্তনগুলি একটি রিকুয়েস্টের মাধ্যমে প্রক্রিয়া করা হলে ডেটা সিঙ্ক্রোনাইজেশন সহজ হয়।

5. Bulk Operations Error Handling

যদি কোনো ডকুমেন্টের মধ্যে ভুল থাকে (যেমন: _rev মিসিং বা ভুল), তখন CouchDB একটি ত্রুটি রিপোর্ট করবে এবং সংশ্লিষ্ট ডকুমেন্টের জন্য error অথবা reason প্রদান করবে। উদাহরণস্বরূপ:

Response Example (with Errors):

[
   {
      "id": "doc1",
      "error": "conflict",
      "reason": "Document update conflict"
   },
   {
      "id": "doc2",
      "rev": "3-89012"
   }
]

এটি দেখায় যে doc1 ডকুমেন্টের আপডেট কনফ্লিক্ট হয়েছে, কিন্তু doc2 সফলভাবে আপডেট হয়েছে।


উপসংহার

Bulk Operations CouchDB-তে একাধিক ডকুমেন্ট একযোগে তৈরি, আপডেট বা মুছে ফেলতে সাহায্য করে। এটি সার্ভারের লোড কমানোর পাশাপাশি পারফরম্যান্সও উন্নত করতে সহায়ক। এই ফিচারটি বড় আকারের অ্যাপ্লিকেশন বা ডেটাবেস সিস্টেমে ডেটা পরিচালনা সহজ করে তোলে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion